package com.fyt.ZhongYaoApp.service.impl;

import com.fyt.ZhongYaoApp.mapper.ZYMapper;
import com.fyt.ZhongYaoApp.pojo.PageBean;
import com.fyt.ZhongYaoApp.pojo.ZY;
import com.fyt.ZhongYaoApp.pojo.vo.ZYQuerry;
import com.fyt.ZhongYaoApp.pojo.vo.ZYVO;
import com.fyt.ZhongYaoApp.service.ZYService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ZYServiceImpl implements ZYService {

    @Autowired
    private ZYMapper zyMapper;

    @Override
    public List<ZYQuerry> ZYList() {
        List<ZYQuerry> list = zyMapper.ZYList();
        System.out.println(list);
        return zyMapper.ZYList();
    }

    @Override
    public void add(ZY zy) {
        zyMapper.add(zy);
    }


    @Override
    public PageBean<ZYQuerry> ZYListByCat(Integer pageNum,Integer pageSize,ZY zy) {

        // 创建PageBean对象
        PageBean<ZYQuerry> pageBean = new PageBean();

        // 开启分页查询pageHelper
        PageHelper.startPage(pageNum,pageSize);

        // 调用Mapper
        List<ZYQuerry> li = zyMapper.ZYListByCat(zy);
        System.out.println(li);
        Page<ZYQuerry> page = (Page<ZYQuerry>) (li);

        // 把数据填充到PageBean对象中
        pageBean.setTotal(page.getTotal());
        pageBean.setItems(page.getResult());
        return pageBean; 

    }

    @Override
    public ZYQuerry findZYById(Integer id) {

        ZYQuerry zyQuerry = zyMapper.zyFindById(id);
        return zyQuerry;
    }

    /**
     * 查询部分信息
     * @param pageNum
     * @param pageSize
     * @param zy
     * @return
     */
    @Override
    public PageBean<ZYVO> ZYListPartByCat(Integer pageNum, Integer pageSize, ZY zy) {
        // 创建PageBean对象
        PageBean<ZYVO> pageBean = new PageBean();

        // 开启分页查询pageHelper
        PageHelper.startPage(pageNum,pageSize);

        // 调用Mapper
        List<ZYVO> li = zyMapper.ZYListPartByCat(zy);
        System.out.println(li);
        Page<ZYVO> page = (Page<ZYVO>) (li);

        // 把数据填充到PageBean对象中
        pageBean.setTotal(page.getTotal());
        pageBean.setItems(page.getResult());
        return pageBean;
    }
}
